package com.xtyhz.config.swagger;

import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * Knife4j 接口文档配置
 * 访问地址/是http://ip:port/doc.html
 */
@Configuration
public class Knife4jConfig {
    
    /**
     * 自定义 API 文档信息
     * @return OpenAPI 配置信息
     */
    @Bean
    public OpenAPI customOpenAPI() {
        return new OpenAPI()
                .info(new Info()
                        .title("AI_学途引航者")        // 设置API文档标题
                        .version("1.0.version")                // 设置API版本号
                        .description("AI_学途引航者接口文档")   // 设置API描述信息
                        .contact(new Contact()         // 设置联系人信息
                                .name("高玉")
                                .email("2983195648@qq.com"))
                        .license(new License()         // 设置许可证信息
                                .name("Apache 2.0")
                                .url("https://www.apache.org/licenses/LICENSE-2.0.html")));
    }

    /**
     * 配置公开API分组
     * 用于对外开放的API接口文档
     * @return GroupedOpenApi 公开API配置
     */
//    @Bean
//    public GroupedOpenApi publicApi() {
//        return GroupedOpenApi.builder()
//                .group("public")           // 分组名称
//                .pathsToMatch("/api/**")   // 匹配以/api开头的接口
//                .build();
//    }

    /**
     * 配置管理员API分组
     * 用于后台管理的API接口文档
     * @return GroupedOpenApi 管理员API配置
     */
//    @Bean
//    public GroupedOpenApi adminApi() {
//        return GroupedOpenApi.builder()
//                .group("admin")            // 分组名称
//                .pathsToMatch("/admin/**") // 匹配以/admin开头的接口
//                .build();
//    }

} 